package com.loong.ems.service;

import com.github.pagehelper.PageInfo;
import com.loong.ems.domain.entity.Employee;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 龙勇-229970722
 * @date 2025-01-02 9:10
 * @description: 员工信息接口
 */

@Service
public interface EmployeeService {
    /**
     * 获取员工列表
     * @return
     */
    List<Employee> list();

    /**
     * 离职员工
     * @param id
     */
    void deleteById(Long id);

    /**
     * 更新员工信息
     * @param employee
     */
    void updateByEmployee(Employee employee);

    /**
     * 新增员工信息
     * @param employee
     */
    void addByEmployee(Employee employee);
    /**
     * 分页查询员工列表
     *
     * @param pageNum  当前页码
     * @param pageSize 每页大小
     * @return 分页结果
     */
    PageInfo<Employee> listByPage(int pageNum, int pageSize);

    /**
     * 获取离职员工列表
     * @return
     */
    List<Employee> listLeave();

    /**
     * 恢复员工
     * @param id
     */
    void recover(Long id);

    /**
     * 搜索员工模糊查询
     * @param str
     * @return
     */
    List<Employee> search(String str,int pageNum, int pageSize);

    /**
     * 获取员工总数
     * @return
     */
    int count();

    /**
     * 导出员工数据
     * @param path
     */
    void exportEmployeeData(String path);
}
